With the rising popularity of client/server computing and the Web, businesses are looking for even better ways to increase their competitive advantage. Information is one of businesses most precious commodities. Accordingly, there is a need for flexibility to position information in ways that best support business organizations and their customers.
Client/server technology offers graphical user interfaces (GUI's) a choice of open systems, rapid application development, increased end-user productivity and much more. By combining this technology with the Internet and intranets, a powerful system is made available to distribute information throughout the business and customer communities. The world Wide web is a purely client/server environment that can bring business to customers. Even if a business has information that needs to be kept within the organization, the Web technology is still available as an Intranet, which is a web site behind a firewall and made available only to employees of the organization. The term "firewall" as used herein refers to a combination of hardware and software that prevents access to secured data over a network. The idea is to protect a cluster of more loosely administered machines hidden behind the firewall from hackers.
There is also a need to make the move to client/server and Internet technologies without having to migrate from existing host applications. The best way to build new client/server applications that can be integrated with current applications is to combine the dependability of enterprise-wide computing systems with the flexibility of distributed processing.
Early attempts at capitalizing on the advantages of the client/server applications involved the use of the PC as a "dumb terminal", or a character-based network terminal, that interacted directly with legacy programs operating on a mainframe or host computer. This approach was unsatisfactory because the user was limited to a character-mode display. Later attempts included such solutions as the Designer Workbench product (which is a software tool now referred to as PowerClient and available from Unisys Corporation, assignee of this patent). The PowerClient product gives the user the ability to capture Forms descriptions that are on the mainframe, and to convert character-based fields into Windows-based visual elements such as edit fields, buttons, etc. A language called SCL (Screen Control Language) was created for describing the visual elements as well as indicating processing that will be performed on the client PC's.
With reference to various types of legacy programs operating on the host, LINC (i.e., "Logical Information Network Compiler") allows Screen Control Language ("SCL") to be generated directly. SCL is created with the use of the PowerClient product for third generation languages (3GL) such as COBOL or ALGOL legacy programs; and, in the case of MAPPER, which is a third system and language for legacy programs, there is no way to generate SCL. For MAPPER, the user must use a forms designer tool (such as the Development Studio product) for drawing visual elements to generate the required SCL that matches the MAPPER application.
More recently, it was possible to take SCL definitions of a Form and turn them into a Visual Basic or a PowerBuilder executable program. For an amplification of this method reference is made to a copending patent application entitled A METHOD FOR GENERATING CODE FOR MODIFYING EXISTING EVENT ROUTINES FOR CONTROLS ON A FORM, Ser. No. 08/803,137, filed Feb. 19, 1997 by the same inventors hereof and assigned to the same assignee hereof. PowerBuilder is a product of PowerSoft Company (which has recently merged with Sybase, Inc. of Emeryville, Calif.), and Visual Basic is a product of Microsoft Corporation of Redmond, Wash. However, since the Visual Basic and PowerBuilder client builder products generate executables, there is no way to incorporate the presentation functionality they provide into a Web browser, which is a client-side software module for accessing a Web server.
The PowerClient product has the capability of displaying forms from legacy host applications in the PC environment. While it is possible to display forms in their original, character-based format, it is also possible, via the PowerClient Development Studio product, to add modern GUI Controls, such as command buttons, list boxes and images to these forms. The Forms thus developed are stored in the PowerClient product environment and are accessed and displayed as needed when the user is interacting with the legacy application. The initial data received from the legacy application for the Form is displayed, and then the user of the legacy application enters data into the GUI Controls contained in the Form. When the user completes the interaction, the PowerClient product gathers the data from these GUI controls into a buffer and formats it for transmission to the host in such a way that the legacy host application can continue to use its character-based interface and is unaware of these changes. The host legacy application then supplies the initial data for the next Form, and the process repeats.
In order to "Web-enable" such a legacy application, i.e. allow it to work within the World Wide Web internet or intranet environment, it is necessary that: 1) the host application continue to be unaware that an agency is intervening in the display of its Forms and 2) these Forms need to have a "look and feel" similar to the PC version in order that development and training costs be minimized.
The current state of the art for displaying Forms in the World Wide Web is the Hypertext Markup Language (HTML). This language is an instance of SGML (Standard Generalized Markup Language). HTML has the concept of the FORM, which is a means of displaying GUI controls for user interaction. When the user submits the HTML Form, the contents of these controls are gathered by the Web browser and sent as part of a Universal Resource Locator (URL) sent to the Web server in the form of control name/control value pairs.
The HTML FORM construct was originally considered for implementation of PowerClient product Forms in the web environment and considerable effort was expended in an effort to make it work. However, it was ultimately found that there were numerous shortcomings of this approach, foremost of which is the inability to simultaneously specify the caption for a control and the name of the host data element with which it is associated. This limitation made it impossible to use the HTML FORM construct to support PowerClient product legacy forms in the web environment. Moreover, while the set of available components included most of the PowerClient product's GUI Control set, there were still some which either were not supported or were of limited functionality vis-a-vis the PowerClient product set. Additionally, there was no way to control where on the Form the control was positioned. HTML Version 2.0 added the concept of FRAMEs, which gives some control over positioning. These were evaluated for the PowerClient product's environment and found insufficient to control locations on the PowerClient product Form.